﻿/*********************弘石项目三组************************
*  功能描述：客户管理信息录入
*  作者：刘伟康
*  时间：2021-12-9
*  修改人：刘伟康
*  修改时间：2021-12-9
*********************弘石项目三组************************/
using Hong.Model.Dto.Model_CustomerManagementDto;
using Hong.Model.SysDomain.Model_CustomerManagement;
using Hong.Model.SysDomain.Model_SystemSettings;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hong.IRepository.IRepository_CustomerManagement
{
    /// <summary>
    /// 客户信息录入
    /// </summary>
    public interface ICustInfoRepository
    {
        #region 客户信息录入
        #region 基本信息
        /// <summary>
        /// 添加基本信息
        /// </summary>
        /// <returns></returns>
        public int PostCustomer(Model.SysDomain.Model_CustomerManagement.Customer customer);
        #endregion

        #region 甲方负责人

        #region 添加甲方负责人信息
        /// <summary>
        /// 添加甲方负责人信息
        /// </summary>
        /// <returns></returns>
        public int PostPerson(Person person);
        #endregion

        #region MyRe甲方负责人显示gion
        /// <summary>
        /// 甲方负责人显示
        /// </summary>
        /// <returns></returns>
        public List<Person> GetPerson(string custid);
        #endregion

        #region 甲方负责人删除
        /// <summary>
        /// 甲方负责人删除
        /// </summary>
        /// <returns></returns>
        public int DeletePerson(string id);
        #endregion

        #region 甲方负责人反填
        /// <summary>
        /// 甲方负责人反填
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>

        public Person GetPersonFT(string id);
        #endregion

        #region 甲方负责人修改
        /// <summary>
        /// 甲方负责人修改
        /// </summary>
        public int PutPerson(Person person);
        #endregion

        #endregion

        #region 扩展信息

        #region 国家
        /// <summary>
        /// 国家
        /// </summary>
        /// <returns></returns>
        public List<Address> GetAddress1();
        #endregion

        #region 省市
        /// <summary>
        /// 省市
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public List<Address> GetAddress2(string id);
        #endregion

        #region 客户类型
        /// <summary>
        /// 客户类型
        /// </summary>
        /// <returns></returns>

        public List<Dictionary> GetTypes();
        #endregion

        #region 所属行业
        /// <summary>
        /// 所属行业
        /// </summary>
        /// <returns></returns>

        public List<Dictionary> GetIndustry();
        #endregion

        #region 添加扩展信息
        /// <summary>
        /// 添加扩展信息
        /// </summary>
        public int PostExtended(Extended extended);
        #endregion

        #endregion

        #region 满意度调查

        #region 添加
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="satisfaction"></param>
        /// <returns></returns>
        public int PostSatisfaction(Satisfaction satisfaction);
        #endregion

        #region 删除
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int DeleteSatisfaction(string id);
        #endregion

        #region 显示

        /// <summary>
        /// 显示
        /// </summary>
        /// <returns></returns>
        public List<Satisfaction> GetSatisfaction(string custid);
        #endregion

        #region 反填
        /// <summary>
        /// 反填
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Satisfaction GetSatisfactionFT(string id);
        #endregion

        #region 修改
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="satisfaction"></param>
        /// <returns></returns>
        public int PutSatisfaction(Satisfaction satisfaction);
        #endregion

        #endregion

        #region 附件
        #region 添加
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="satisfaction"></param>
        /// <returns></returns>
        public int PostAccessory(Accessory accessory);
        #endregion

        #region 删除
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int DeleteAccessory(string id);
        #endregion

        #region 显示
        /// <summary>
        /// 显示
        /// </summary>
        /// <returns></returns>
        public List<Accessory> GetAccessory(string custid);
        #endregion

        #region 反填
        /// <summary>
        /// 反填
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Accessory GetAccessoryFT(string id);
        #endregion

        #region 修改
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="satisfaction"></param>
        /// <returns></returns>
        public int PutAccessory(Accessory accessory);

        #endregion

        #endregion
        #endregion
    }
}
